This nonprovisional application is a continuation of U.S. application Ser. No. 14/794,331, which was filed on Jul. 8, 2015, and is herein incorporated by reference.
Field of the Invention
The present invention relates to a computer-implemented method for editing data object variants of at least one software tool, whereby the data object variants have at least one common element and in each case a configuration of the elements. In this regard, the invention also relates to a computer hardware development platform for editing data object variants of at least one embedded software component.
Description of the Background Art
Methods for editing data object variants are known from different technical development fields, primarily from such fields in which the involved developers in fact have to solve similar, but in parts nevertheless varying engineering tasks in terms of programming. This occurs typically when different product variants are the goal of the development, which means products that apart from common, identical parts also have parts that differ from one another.
A field of technical tasks in which a plurality of data object variants must often be edited, is electronic control unit (ECU) development that has become an important part in the development of production vehicles, for example. Today, control devices are generally understood to be robust microcomputers prepared for industrial use with usually integrated I/O interfaces. Programs, which in the broadest sense communicate via the I/O interface with a technical process to be controlled and act upon this process in a desired manner, are executed in the control devices often equipped with a real-time operating system.
If, for example, control devices are being developed for gasoline engines of a new vehicle series, then it is immediately obvious that control devices for engine variants have on the one hand some functionalities which are implemented by programming and can be and also are identical in the different control devices, and on the other hand, certain functionalities must be implemented differing from one another in order to satisfy the different circumstances of the individual engine variants.
If the different variants of the programming-implemented engine control functionality are to be understood as data object variants, then subfunctionalities can be understood as attributes of these data object variants, for example, the functionality for controlling injection time and injection pressure, the functionality for controlling exhaust gas flow, etc.; similarly, individual parameters or parameter sets for parameterization of controls, sensors, etc., can be regarded as attributes. The specific configurations of the aforementioned functionalities and the assignments of specific values to parameter sets and parameters are then the particular configurations of the associated attributes.
During the editing of data object variants, for reasons of work efficiency and clarity, there is great interest in identifying attributes that may have a matching configuration, because these attributes of the different data object variants need to be developed, stored by information technology, and tested only once, which simplifies the development activities overall. Thus, each data object functionality and subfunctionality or attribute is stored in memory for retrieval and use by the development platform.
At the initial development activities, a task in the prior art therefore is to identify arising data object variants and also to foresee the common attributes of the data object variants that will have a matching configuration or configurations differing from one another. As a general rule, therefore, before work is begun on editing the different data object variants and establishing the specific configuration, it must be determined whether and to what extent certain data object variants match certain configurations of common attributes. The thus predefined matching groups between different data object variants are then specifically configured, with each data object variant then resulting from the merging of predetermined matching groups. It can be readily seen that this approach requires a considerable amount of foresight and experience, because it is only possible to react to a change in matching groups during development with great difficulty.